package practice3;

import java.util.Scanner;

public class P8742 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] arr = new int[n+1];
        int max=0;
        for(int i=1;i<=n;i++){
            arr[i]=sc.nextInt();
            max+=arr[i];
        }
        //行为输入的n个数，列为可能出现的计算的值(1~max),0表示该列表示的数不能计算出,1表示可以计算出
        int[][] dp = new int[n+1][max+1];
        dp[0][0]=1;
        for(int i=1;i<=n;i++){
            for(int j=1;j<=max;j++){
                if(arr[i]==j){
                    //当前值为计算数时dp为1
                    dp[i][j]=1;
                }else if(dp[i-1][Math.abs(j-arr[i])]==1){
                    //当前值与上一行作差可求出计算数时dp为1
                    dp[i][j]=1;
                }else if(j+arr[i]<=max && dp[i-1][j+arr[i]]==1){
                    //当前值与上一行相加可求出计算数时dp为1
                    dp[i][j]=1;
                }else {
                    //继承上一行
                    dp[i][j]=dp[i-1][j];
                }
            }
        }
        int ans =0;
        for(int i=1;i<=max;i++){
            for(int j=1;j<=n;j++){
                if(dp[j][i]==1){
                    ans++;
                    break;
                }
            }
        }
        System.out.println(ans);
    }
}
